// Generated from antlr/gdx.g4 by ANTLR 4.9.0-SNAPSHOT


import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";

import { FileContext } from "./gdxParser";
import { NodeContext } from "./gdxParser";
import { OpenBlockContext } from "./gdxParser";
import { BlockContext } from "./gdxParser";
import { EndBlockContext } from "./gdxParser";
import { AttrContext } from "./gdxParser";
import { InstanceContext } from "./gdxParser";
import { DictionaryContext } from "./gdxParser";
import { PairContext } from "./gdxParser";
import { ArrayContext } from "./gdxParser";
import { ValueContext } from "./gdxParser";


/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `gdxParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export interface gdxVisitor<Result> extends ParseTreeVisitor<Result> {
	/**
	 * Visit a parse tree produced by `gdxParser.file`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitFile?: (ctx: FileContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.node`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitNode?: (ctx: NodeContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.openBlock`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitOpenBlock?: (ctx: OpenBlockContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.block`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitBlock?: (ctx: BlockContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.endBlock`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitEndBlock?: (ctx: EndBlockContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.attr`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitAttr?: (ctx: AttrContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.instance`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitInstance?: (ctx: InstanceContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.dictionary`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitDictionary?: (ctx: DictionaryContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.pair`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitPair?: (ctx: PairContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.array`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitArray?: (ctx: ArrayContext) => Result;

	/**
	 * Visit a parse tree produced by `gdxParser.value`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitValue?: (ctx: ValueContext) => Result;
}

